package com.waimai.utils;

import java.io.UnsupportedEncodingException;
import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import com.waimai.log.Log;

public class StringUtils {
	/**
	 * 正则
	 * 
	 * @param str
	 *            目标字符串
	 * @param paString
	 *            正则表达式
	 * @return
	 */
	public static String pattern(String str, String paString) {
		Pattern p = Pattern.compile(paString);
		Matcher m = p.matcher(str);
		String result = "";
		try {
			if (m.find()) {
				result = m.group();
			}
		} catch (IndexOutOfBoundsException e) {
			Log.e(e, "pattern error");
			e.printStackTrace();
		}
		return result;
	}

	/**
	 * 去空格和换行
	 * 
	 * @param str
	 * @return
	 */
	public static String replaceBlank(String str) {
		String dest = "";
		if (str != null) {
			Pattern p = Pattern.compile("\\s*|\t|\r|\n");
			Matcher m = p.matcher(str);
			dest = m.replaceAll("");
		}
		return dest;
	}

	public static String gbk2utf(String str) {
		try {
			return new String(str.getBytes("GBK"), "UTF-8");
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			Log.e(e, "gbk2utf error");
			e.printStackTrace();
		}
		return "";
	}

	public static String getIntStr(String str) {
		return pattern(StringUtils.pattern(replaceBlank(str), "[^0-9]*[0-9]*"),
				"[0-9]*$");
	}

	// /**
	// *
	// * sql中获得where语句 不知道要不要加；
	// *
	// * @param cols
	// * @return
	// */
	// public static String getWhereSql(List<String> cols) {
	// StringBuilder sb = new StringBuilder("where ");
	// for (int i = 0; i < cols.size(); i++) {
	// if (i > 0) {
	// sb.append(" and ");
	// }
	// sb.append(cols.get(i) + " = ? ");
	// }
	// return sb.toString();
	// }

	public static String getUUID() {
		return UUID.randomUUID().toString();
	}
}
